import MesHelp from '../Http/MesHelp'

// ==================== 部门管理API接口 ====================

/**
 * 获取部门列表接口 - 支持分页和搜索
 * @param data 查询参数（部门名称、上级部门ID、状态、分页信息）
 * @returns Promise<any>
 */
export const getDepartmentList = (data: any) => {
  return MesHelp.post('/api/User/GetDepartmentList', data)
}

/**
 * 获取部门详情接口 - 根据部门ID获取完整部门信息
 * @param id 部门ID
 * @returns Promise<any>
 */
export const getDepartmentById = (id: number) => {
  return MesHelp.get(`/api/User/GetDepartmentById?id=${id}`)
}

/**
 * 创建部门接口 - 新增部门
 * @param data 部门信息
 * @returns Promise<any>
 */
export const createDepartment = (data: any) => {
  return MesHelp.post('/api/User/CreateDepartment', data)
}

/**
 * 更新部门接口 - 编辑部门信息
 * @param data 部门信息
 * @returns Promise<any>
 */
export const updateDepartment = (data: any) => {
  return MesHelp.post('/api/User/UpdateDepartment', data)
}

/**
 * 删除部门接口 - 软删除部门
 * @param id 部门ID
 * @returns Promise<any>
 */
export const deleteDepartment = (id: number) => {
  return MesHelp.post('/api/User/DeleteDepartment', { id })
}

/**
 * 切换部门状态接口 - 启用/禁用部门
 * @param id 部门ID
 * @param status 状态（1：启用，0：禁用）
 * @returns Promise<any>
 */
export const toggleDepartmentStatus = (id: number, status: number) => {
  return MesHelp.post('/api/User/ToggleDepartmentStatus', { id, status })
}

/**
 * 获取部门树形结构接口 - 获取部门层级结构
 * @returns Promise<any>
 */
export const getDepartmentTree = () => {
  return MesHelp.get('/api/User/GetDepartmentTree')
}

/**
 * 获取所有部门接口 - 用于下拉选择
 * @returns Promise<any>
 */
export const getAllDepartments = () => {
  return MesHelp.get('/api/User/GetAllDepartments')
}
